package com.sg.dto.biz.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;


/**
 * @desc AddCycleReqDto
 * @使用场景
 */
@Data
public class AddCycleReqDto extends BaseDto implements Serializable {

    /**
     * 周期名称
     */
    @NotNull(message = "周期名称不能为空")
    @ApiModelProperty("周期名称")
    private String cycleStandardName;

    /**
     * 周期开始时间
     */
    @NotNull(message = "周期开始时间不能为空")
    @ApiModelProperty("周期开始时间")
    private Date cycleStartTime;

    /**
     * 周期结束时间
     */
    @NotNull(message = "周期结束时间不能为空")
    @ApiModelProperty("周期结束时间")
    private Date cycleEndTime;

    /**
     * 冗余周期类型标准化 STANDARD:普通标准 CUSTOM_STANDARD:自定义标准 IRREGULAR:不规则
     */
    @NotNull(message = "冗余周期类型标准化不能为空")
    @ApiModelProperty("冗余周期类型标准化")
    private String cycleTypeStandard;

    /**
     * 周期结束后第1天
     */
    @ApiModelProperty("周期结束后第1天")
    private Date cycleEndFirstDay;

    /**
     * 周期类型标识
     */
    @NotNull(message = "周期类型标识不能为空")
    @ApiModelProperty("周期类型标识")
    private String cycleTypeCode;

    /**
     * 周期类型名称
     */
    @NotNull(message = "周期类型名称不能为空")
    @ApiModelProperty("周期类型名称")
    private String cycleTypeName;

    /**
     * 周期类型实例标识
     */
    @ApiModelProperty("周期类型实例标识")
    private String cycleTypeInstanceCode;

    /**
     * 周期类型实例简称
     */
    @ApiModelProperty("周期类型实例简称")
    private String cycleNumberShortName;

    /**
     * 是否是平台 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否是平台不能为空")
    @ApiModelProperty("是否是平台")
    private String platformData;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @NotNull(message = "主体生命周期不能为空")
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;


}
   